A speech application is one of the most challenging applications to develop, deploy and maintain in a communications environment. Expertise required for developing and deploying a viable VXML application, for example, includes expertise in computer telephony integration (CTI) hardware and software or a data network telephony (DNT) equivalent, voice recognition software, text-to-speech software, and speech application logic.
With the relatively recent advent of voice extensive markup language (VXML) the expertise require to develop a speech solution has been reduced somewhat. VXML is a language that enables a software developer to focus on the application logic of the voice application without being required to configure underlying telephony components. Typically, the developed voice application is run on a VXML interpreter that resides on and executes on the associated telephony system to deliver the solution.
Voice prompting systems in use to day range from a simple interactive voice response system for telephony to the more state-of-art VXML application system known to the inventors. Anywhere a customer telephony interface may be employed, there may also be a voice interaction system in place to interact with callers in real time. Data network telephony (DNT) equivalents of voice delivery systems also exist like VoIP portals and the like.
Often in both VXML compliant and non-VXML systems, such as computer telephony integrated (CTI) IVRs, voice messaging services and the like, voice prompts are sometimes prerecorded in a studio setting for a number of differing business scenarios and uploaded to the enterprise system server architecture for access and deployment during actual interaction with clients. Pre-recording voice prompts instead of dynamically creating them through software and voice synthesis methods is many times performed when better sound quality, different languages, different voice types, or a combination of the above are desired for the presentation logic of a particular system.
In very large enterprise architectures there may be many thousands of prerecorded voice prompts stored for use by a given voice application. Some of these may not be stored in a same centralized location. One with general knowledge of voice file management will attest that managing such a large volume of voice prompts can be very complicated. For example, in prior-art systems management of voice prompts includes recording the prompts, managing identification of those prompts and manually referencing the required prompts in the application code used in developing the application logic for deployment of those prompts to a client interfacing system. There is much room for error in code referencing and actual development, recording, and sorting batches of voice files can be error prone and time consuming as well.
The inventor knows of a software interface for managing audio resources used in one or more voice applications. The software interface includes a first portion for mapping the audio resources from storage to use-case positions in the one or more voice applications, a portion for accessing the audio resources according to the mapping information and for performing modifications a portion for creating new audio resources; and a portion for replication of modifications across distributed facilities. In a preferred application a developer can modify or replace existing audio resources and replicate links to the application code of the applications that use them.
VXML-compliant and other types of voice systems may frequently need to be modified or updated, sometimes multiple times per day due to fast-paced business environments, rapidly evolving business models, special temporary product promotions, sales discounts and so on. For example, if a product line goes obsolete, existing voice prompts related to that product line that are operational in a deployed voice application may need to be modified, replaced or simply deleted. Moreover, configuration settings of a voice application interaction system may also need to be updated or modified from time to time due to addition of new hardware, software, and so on.
The software application mentioned above as known to the inventor for managing audio resources enables frequent modifications of existing voice applications in a much improved and efficient manner than in the current art. However, when changing over from an existing configuration to a new configuration the running voice application is typically suspended from service while the changes are implemented. Shutting down service for even a temporary period can result in monetary loss that can be significant depending on the amount of time the system will be shut down. In some cases a backup system may be deployed while the primary system is being reconfigured. However this approach requires more resources that would be required to run one application.
What is clearly needed is a software routine or application for facilitating a one-click or single-action deployment and implementation of voice application system changes.